Complex business systems typically process data in multiple stages, with the results produced by one stage being fed into the next stage. The overall flow of information through such systems may be described in terms of a directed data flow graph, with vertices in the graph representing components (either data files or processes), and the links or “edges” in the graph indicating flows of data between components.
Graphs also can be used to invoke computations directly. The “CO>OPERATING SYSTEM®” with Graphical Development Environment (GDE) from Ab Initio Software Corporation, Lexington, Mass. embodies such a system. Graphs made in accordance with this system provide methods for getting information into and out of individual processes represented by graph components, for moving information between the processes, and for defining a running order for the processes. This system includes algorithms that choose interprocess communication methods and algorithms that schedule process execution, and also provides for monitoring of the execution of the graph.
A distributed services architecture allows computer programs to access capabilities of other programs through a network interface, such as the world wide web, without having to incorporate the functionalities of those programs into their own operating code.